package gat.infrastructure.persistence.po.tg;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bitsun.core.framwork.infrastructure.persistence.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 
 * @author: yanshukeji-java
 * @email: yanshukeji-java
 */
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@TableName(value = "account_order", resultMap = "accountOrderMap")
public class AccountOrderPo extends BasePo<AccountOrderPo> implements Serializable{
    private static final long serialVersionUID = 1L;

    public AccountOrderPo(){

    }
    public AccountOrderPo(Long id){
        this.id = id;
    }

    @TableId(value = "id")
    @TableField(fill = FieldFill.INSERT)
    protected Long id;

    /**
     * 订单号 VARCHAR
     */
    private String orderNo;

    /**
     * 订单金额 BIGINT
     */
    private Long orderAmount;

    /**
     * 订单状态 INT
     */
    private Integer orderStatus;

    /**
     * 订单随机金额 BIGINT
     */
    private Long orderRandomAmount;

    /**
     * 购买账号厂商 VARCHAR
     */
    private String accountSupplier;

    /**
     * 账号id VARCHAR
     */
    private String accountId;

    /**
     * 订单类型  1 分配账号订单, 2 充值订单
     */
    private Integer orderType;

    /**
     * 支付时间 TIMESTAMP
     */
    private LocalDateTime payTime;

    /**
     * 会话id VARCHAR
     */
    private String chatId;

    /**
     * tg用户id VARCHAR
     */
    private String tgUserId;

    /**
     * tg用户名 VARCHAR
     */
    private String tgUserName;

    /**
     * 会话类型 VARCHAR
     */
    private String chatType;

    /**
     * 主账号id VARCHAR
     */
    private String primaryUid;


    @TableField(fill = FieldFill.INSERT)
    protected LocalDateTime createTime;

    private String botId;

    // 折扣
    private Long discount;

    // 原价
    private Long originalPrice;
}






